Shader "Custom/RainDropShader"  
{  
    Properties  
    {  
        _MainTex ("Base Texture", 2D) = "white" {}  
        _RainColor ("Rain Color", Color) = (1, 1, 1, 1)  
    }  
    SubShader  
    {  
        Tags { "RenderType"="Transparent" "Queue"="Transparent" }  
        LOD 200  

        Pass  
        {  
            Cull Off  
            ZWrite Off  
            Blend SrcAlpha OneMinusSrcAlpha  

            CGPROGRAM  
            #pragma vertex vert  
            #pragma fragment frag  
            #include "UnityCG.cginc"  

            struct appdata_t  
            {  
                float4 vertex : POSITION;  
                float2 uv : TEXCOORD0;  
            };  

            struct v2f  
            {  
                float2 uv : TEXCOORD0;  
                float4 vertex : SV_POSITION;  
            };  

            sampler2D _MainTex;  
            float4 _RainColor;  

            v2f vert (appdata_t v)  
            {  
                v2f o;  
                o.vertex = UnityObjectToClipPos(v.vertex);  
                o.uv = v.uv;  
                return o;  
            }  

            fixed4 frag (v2f i) : SV_Target  
            {  
                // Base texture color  
                float2 uv = i.uv;  

                // Create a raindrop-like distortion  
                float2 center = float2(0.5, 0.5); // Center of the rain effect  
                float dist = distance(uv, center);  
                float mask = smoothstep(0.3, 0.1, dist);  

                fixed4 col = tex2D(_MainTex, uv);  
                col.rgb = lerp(col.rgb, _RainColor.rgb, mask * 0.8);  
                col.a *= mask;  

                return col;  
            }  
            ENDCG  
        }  
    }  
}